package com.explorati.design_pattern.hybrid.observermediator;

import java.util.Vector;

/**
 * 代码中定义了一个向量来存储事件处理者可以处理的事件类型，这样一个事件处理者可以处理多种事件类型。
 * 另外，还定义了一个抽象的事件处理方法exec()，该方法由具体的事件处理类来实现，当事件产生后，可以
 *  统一调用exec()方法对事件对象进行处理
 * 
 * @author explorati
 *
 */
// 抽象事件处理类
public abstract class EventCustomer {

	private Vector<ProductEventType> vector = new Vector<ProductEventType>();

	// 构造函数
	public EventCustomer(ProductEventType type) {
		vector.add(type);
	}

	public void addEventType(ProductEventType type) {
		vector.add(type);
	}

	public Vector<ProductEventType> getCustomerType() {
		return vector;
	}

	public abstract void exex(ProductEvent event);
}
